﻿// Archivo JScript
function FechaMenorActual(s, e){
    var Valido=EsFechaValida(e.Value)
    if (Valido ==0){
        var FechaHoy = new Date();
        var Fecha_AUX = e.Value.split("/")[2] + e.Value.split("/")[1] + e.Value.split("/")[0];
        var mes = FechaHoy.getMonth();		
	    var num = FechaHoy.getDate();
	    var ano=  FechaHoy.getFullYear();    
        if (parseFloat(num) < 10) {
            num = "0" + num;
        }
        mes++;
        if (parseFloat(mes) < 10) {
            mes = "0" + mes;
        }
        FechaHoy = new String(ano) + new String(mes) + new String(num);   
        e.IsValid = false;
        if (parseFloat(Fecha_AUX) >= parseFloat(FechaHoy)){        
            e.IsValid = true;
        }
    }else{
        e.IsValid = true;
    }
}

function validarRut(s, e){
    if ( check_rut(e.Value.substring(0, e.Value.length - 1), e.Value.substring(e.Value.length - 1, e.Value.length ) ) ){
        e.IsValid = true;
    }else{
        e.IsValid = false;
    }
}

function check_rut(rut,dv){
	dig_ver = dv;	
	var monto = ""
	for (j=0; j<rut.length; j++){
		if (rut.charAt(j) != "." && rut.charAt(j) != "-"){
			monto = monto + rut.charAt(j)
		}
	}
	rut = monto;
	if ( isNaN(rut) ){
		return(false)
	}
	if ( rut.length < 7 || dig_ver == ""){
		return(false)
	} 
	if ( rut.length < 8 )
		numero_rut = "0" + rut
	else
		numero_rut = rut;
    v8 = numero_rut.substring(7,8) * 2;
    v7 = numero_rut.substring(6,7) * 3;
    v6 = numero_rut.substring(5,6) * 4;
    v5 = numero_rut.substring(4,5) * 5;
    v4 = numero_rut.substring(3,4) * 6;
    v3 = numero_rut.substring(2,3) * 7;
    v2 = numero_rut.substring(1,2) * 2;
    v1 = numero_rut.substring(0,1) * 3;

	suma_rut = v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8;
	resto_rut = suma_rut % 11;

	digito_verificador = 11 - resto_rut;

	if ( digito_verificador == 10 )
		digito_verificador = "K";
	if ( digito_verificador == 11 )
		digito_verificador = 0;

    if ( digito_verificador == "K" ){
        if ( digito_verificador != dig_ver.toUpperCase() ){
            return (false);
        }else
            return (true);
    } else {
        if ( digito_verificador != dig_ver ){
            return (false)
        }else
            return (true);
    }
}

function validarFecha(s, e){
    var Valido;
    Valido=EsFechaValida(e.Value)
    if (Valido==0){
        e.IsValid = true;        
    }else{
        e.IsValid = false;
    }
}



function validarFechaCompare(fecha){
    var arrFecha;
    var Dia;
    var Mes;
    var Ano;
    var Fecha;
    var FecOk;
    var Valido;

    Valido=0;
	arrFecha = fecha.split("/");
	if(arrFecha.length < 3){
	    Valido=1;
	}
	else{
	    if (arrFecha.length != 3) {
	        Valido=1;
	    }
	    if (arrFecha[0].length != 2) {
	        Valido=1;
	    }
	    if (arrFecha[1].length != 2) {
	        Valido=1;
	    }
	    if (arrFecha[2].length != 4) {
	        Valido=1;
	    }
	}
	if (Valido == 0) {
        Dia = arrFecha[0];
        Mes = arrFecha[1];
        Ano = arrFecha[2];
    	
        Fecha = Dia + Mes + Ano
        FecOk = parseFloat(Fecha)
    	
        if (isNaN(FecOk) == true){
	        Valido=1;
        }

        if (!((Dia >= 1) && (Dia <= 31))){
	        Valido=1;
        }	
    	
        if (!((Mes >= 1) && ( Mes <=12))){
	        Valido=1;
        }
        if (!((Ano >= 1900) && (Ano <= 4000))){
	        Valido=1;
        }
    }

    if (Valido==0){
        if (((parseFloat(Ano)%4)!=0) && ((parseFloat(Dia)) > 28) && ((parseFloat(Mes))==2)){
            Valido=1;
        }
        if (((parseFloat(Ano)%4)==0) && ((parseFloat(Dia)) > 29) && ((parseFloat(Mes))==2)){
            Valido=1;
        }
        if ( (parseFloat(Mes)==4 || parseFloat(Mes)==6 || parseFloat(Mes)==9 || parseFloat(Mes)==11) && Dia>30){
            Valido=1;
        }
    }
    if (Valido==0){
        return true;        
    }
    else{
        return false;
    }
}

function EsFechaValida(miFecha){
    var arrFecha;
    var Dia;
    var Mes;
    var Ano;
    var Fecha;
    var FecOk;
    var Valido;

    Valido=0;
	arrFecha = miFecha.split("/");
	if(arrFecha.length < 3)	{
	    Valido=1;
	}
	else{
	    if (arrFecha.length != 3) {
	        Valido=1;
	    }
	    if (arrFecha[0].length != 2) {
	        Valido=1;
	    }
	    if (arrFecha[1].length != 2) {
	        Valido=1;
	    }
	    if (arrFecha[2].length != 4) {
	        Valido=1;
	    }
	}
	if (Valido == 0) {
        Dia = arrFecha[0];
        Mes = arrFecha[1];
        Ano = arrFecha[2];
    	
        Fecha = Dia + Mes + Ano
        FecOk = parseFloat(Fecha)
    	
        if (isNaN(FecOk) == true){
	        Valido=1;
        }

        if (!((Dia >= 1) && (Dia <= 31))){
	        Valido=1;
        }	
    	
        if (!((Mes >= 1) && ( Mes <=12))){
	        Valido=1;
        }
        if (!((Ano >= 1900) && (Ano <= 4000))){
	        Valido=1;
        }
    }
    if (Valido==0){
        if (((parseFloat(Ano)%4)!=0) && ((parseFloat(Dia)) > 28) && ((parseFloat(Mes))==2)){
            Valido=1;
        }
        if (((parseFloat(Ano)%4)==0) && ((parseFloat(Dia)) > 29) && ((parseFloat(Mes))==2)){
            Valido=1;
        }
        if ( (parseFloat(Mes)==4 || parseFloat(Mes)==6 || parseFloat(Mes)==9 || parseFloat(Mes)==11) && Dia>30){
            Valido=1;
        }
    }
    return Valido;
}
